# kbas_leaflet$contain |> unique() |> sort()
kbas_leaflet <- kbas_leaflet |>
arrange (contain) |>
mutate (contain = forcats:: as_factor (contain))
pal_kbas <- colorFactor (
domain = levels (kbas_leaflet$ contain),
palette = c ('#2e6ba6' , '#e53d3d' , '#59de9e' )
)
iucn_palette <- tribble (
~ id, ~ cat, ~ hex_colour,
'Ia' , 'Ia Strict nature reserve' , '#174721' ,
'Ib' , 'Ib Wilderness area' , '#7AC141' ,
'II' , 'II National park' , '#5D873B' ,
'III' , 'III Natural monument or feature' , '#AFBD36' ,
'IV' , 'IV Habitat/species management area' , '#C8DF8D' ,
'V' , 'V Protected landscape/seascape' , '#15477C' ,
'VI' , 'VI Protected area with sustainable use of natural resource' , '#7EA1B5' ,
'Not Applicable' , 'NA Not Applicable' , '#894444' ,
'Not Assigned' , 'NAS Not Assigned' , '#E60000' ,
'Not Reported' , 'NR Not Reported' , '#898944'
)
iucn_palette <- iucn_palette |>
filter (id %in% levels (raw_pa_data_pols$ iucn_cat))
pal <- colorFactor (
domain = levels (raw_pa_data_pols$ iucn_cat),
palette = iucn_palette$ hex_colour
)
# pal <- colorFactor(
# domain = levels(raw_pa_data_pols$iucn_cat),
# c(
# '#232021',
# '#426f41',
# '#59ba49',
# '#c1178d',
# '#feb016',
# '#e61e24'
# )
# )
basemap_leaflet |>
addPolygons (
data = kbas_leaflet,
fillOpacity = 1 ,
fillColor = ~ pal_kbas (contain),
stroke = TRUE ,
color = '#333333' ,
weight = ~ (triggered_by_birds * 2 ) + 0.5 ,
opacity = 1 ,
group = 'KBAs' ,
# label = ~ htmltools::htmlEscape(desig_eng),
options = pathOptions (pane = "polygons" ),
popup = paste0 (
'<b>' ,
kbas_leaflet$ int_name,
'</b>' ,
'</br>' ,
'<a href="https://www.keybiodiversityareas.org/site/factsheet/' ,
kbas_leaflet$ sit_rec_id,
'/assessment", target="_blank">Factsheet</a>' ,
'</br>' ,
'</br>' ,
'<b>Groups: </b>' ,
kbas_leaflet$ contain,
'</br>' ,
'<b>National site name: </b>' ,
kbas_leaflet$ nat_name,
'</br>' ,
'<b>Triggered by: </b>' ,
kbas_leaflet$ triggered_by,
'</br>' ,
'<b>Year of last assessment: </b>' ,
kbas_leaflet$ year
)
) |>
addPolygons (
data = raw_pa_data_pols,
weight = 0.5 ,
fillOpacity = 0.7 ,
fillColor = ~ pal (iucn_cat),
# stroke = FALSE,
color = '#333333' ,
opacity = 0.7 ,
group = 'Protected areas' ,
label = ~ htmltools:: htmlEscape (desig_eng),
# label = ~ htmltools::htmlEscape(iucn_cat),
options = pathOptions (pane = "polygons" ),
popup = paste0 (
'<b>' ,
raw_pa_data_pols$ name_eng,
'</b>' ,
'</br>' ,
'</br>' ,
'<b>Designation: </b>' ,
raw_pa_data_pols$ desig_eng,
'</br>' ,
'<b>IUCN category: </b>' ,
raw_pa_data_pols$ iucn_cat,
'</br>' ,
'<b>Realm: </b>' ,
raw_pa_data_pols$ realm,
'</br>' ,
'<b>Status (year): </b>' ,
raw_pa_data_pols$ status,
' (' ,
raw_pa_data_pols$ status_yr,
')'
)
) |>
addLegend (
data = kbas_leaflet,
pal = pal_kbas,
values = levels (kbas_leaflet$ contain),
opacity = 0.9 ,
group = 'KBAs' ,
title = 'KBAs'
) |>
addLegend (
data = raw_pa_data_pols,
pal = pal,
values = levels (raw_pa_data_pols$ iucn_cat),
opacity = 0.9 ,
group = 'Protected areas' ,
title = "Protected areas </br> IUCN cats"
) |>
addLayersControl (
baseGroups = c (
# "Topography",
"Open Street Map" ,
"Satellite"
# "Terrain",
),
overlayGroups = c (
'KBAs' ,
'Protected areas'
),
options = layersControlOptions (collapsed = FALSE , position = "bottomright" )
) |>
hideGroup (c ('Protected areas' )) |>
addScaleBar (position = c ("bottomleft" ), options = scaleBarOptions ())